package com.sgj.filterchain.test1;

/**
 * 常规写法
 * 责任链模式
 * @Author: Guoji Shen
 * @Date: 2021/11/19 10:26
 */
public class Client {
    public static void main(String[] args) {
        /**
         * 不符合代码规范
         * 整改：
         *      具体是谁申请出差费用我们不管，我们只管申请出差需要做那些事！
         *      具体是谁审批我们不需要纠结，我们只管审批需要做哪些事
         */

        // 领导们
        Leader500 leader500 = new Leader500();
        Leader1000 leader1000 = new Leader1000();
        Leader1500 leader1500 = new Leader1500();
        Leader2000 leader2000 = new Leader2000();

        // 申请人
        Person person = new Person();
        person.setMoney(2000);


        if (person.getMoney() <= 500) {
            leader500.handler(person);
        } else if (person.getMoney() <= 1000) {
            leader1000.handler(person);
        } else if (person.getMoney() <= 1500) {
            leader1500.handler(person);
        } else if (person.getMoney() <= 2000) {
            leader2000.handler(person);
        }
    }
}